1. Field of the Invention
The present invention relates generally to a mobile communication system that interacts with the Internet. In particular, the present invention relates to a method and apparatus for efficiently processing a User Datagram Protocol (UDP) Checksum field when a UDP packet is transmitted on a radio channel.
2. Description of the Related Art
Today's mobile communication technology has evolved from a traditional voice service into a high-speed, high-quality wireless data packet communication system. A 3rd generation mobile communication system such as a Universal Mobile Telecommunication Service (UMTS) is based on Global System for Mobile communication (GSM) and General Packet Radio Services (GPRS). It provides a uniform service that transmits packetized text, digital audio and video, and multimedia data at a 2 Mbps or higher rate to mobile subscribers or computer users around the world. With the introduction of the concept of packet-switched access using a packet protocol like Internet Protocol (IP), UMTS allows access to any end point in a network at any time.
The 3rd Generation Partnership Project (3GPP), in charge of standardizing the UMTS communication system, has discussed support for Voice over Internet Protocol (VoIP) communications. VoIP is a communication technique in which a voice frame generated from a CODEC (Coder-Decoder) is converted to an IP/User Datagram Protocol (UDP)/Realtime Transport Protocol (RTP) packet, for transmission. Thus, VoIP provides a voice service over a packet network.
FIG. 1 illustrates the configuration of a VoIP-enabled User Equipment (UE) in a conventional mobile communication system.
Referring to FIG. 1, a VoIP-enabled UE 100 comprises a CODEC 106 for converting human voice to a voice frame, an IP/UDP/RTP layer 105 for converting the voice frame to an IP/UDP/RTP packet, a Packet Data Convergence Protocol (PDCP) layer 104 for compressing the header of the IP/UDP/RTP packet, a Radio Link Control (RLC) layer 103 for converting the IP/UDP/RTP packet to a form suitable for transmission on a radio channel, a Medium Access Control (MAC) layer 102, and a Physical PHY layer 101 for transmitting the packet data on the radio channel.
The voice packet data from the UE 100 is delivered to a Radio Network Controller (RNC) 120 via a Node B 110. Like the UE 100, the RNC 120 has a MAC layer 122, a RLC layer 123, and a PDCP layer 124. The RNC 120 converts the received data to the original IP/UDP/RTP packet and transmits it to a Core Network (CN) 130. The IP/UDP/RTP packet is transmitted to the other party over an IP network 140. The UE of the other party processes the voice data in the reverse order of the above-described operation and provides the voice data to the other party.
Now, a description is made of the functionalities of the RLC layer.
Typically, the RLC layer operates in one of three ways: unacknowledged mode (UM), acknowledged mode (AM), and transparent mode (TM). VoIP is expected to operate in the RLC UM mode.
In a transmitter, a RLC UM entity generates a RLC Protocol Data Unit (PDU) by segmenting, concatenating, or padding a RLC Service Data Unit (SDU) received from a higher layer to a size suitable for transmission on a radio channel and then inserts information about the segmentation/concatenation/padding and a Serial Number (SN) into the resulting data. The RLC PDU is delivered to a lower layer. A RLC UM entity in a receiver recovers the RLC SDU by interpreting the SN and the segmentation/concatenation/padding information of the RLC PDU received from its lower layer. For reference, in the TM mode, the RLC entity simply delivers an RLC SDU received from the higher layer to the lower layer and a RLC PDU received from the lower layer to the higher layer.
The MAC layer serves as an interface between the RLC layer and the PHY layer. It inserts a MAC header into the RLC PDU. Data that the MAC layer delivers to the PHY layer is called a Transport Block (TB).
The PHY layer processes the TB and transmits/receives the TB on a radio channel. The PHY layer also inserts a Cyclic Redundancy Check (CRC) to the TB for transmission and performs an error check on received data using a CRC.
As described above, the voice data generated from the CODEC 106 of the UE 110 is converted to a VoIP packet by the IP/UDP/RTP stack 105. The header of the VoIP packet is compressed in the PDCP layer 104 configured for uplink transmission, processed to a size suitable for transmission on a radio channel in the RLC layer 103, and reconstructed to an RLC PDU in the MAC and PHY layers 102 and 101. The RLC PDU is channel-encoded and then transmitted on the radio channel. In the Node B 110, the RLC PDU or a TB resulting from processing the RLC PDU in the PHY layer is channel-decoded in a PHY layer 111 and then transmitted to the RNC 120. The RNC 120 recovers the RLC PDU to the VoIP packet and transmits it to the CN 130. The CN 130 transmits the VoIP packet to the other party via the IP network 140 or a Public-Switched Telephone Network (PSTN) 150. Downlink data transmission is performed in the reverse order.
For VoIP communications, both the caller and the called party must use the same type of CODECs 106 and 144. If the UE 100 operating in UMTS communicates with a standard landline phone, a specific device between the PSTN 150 and the UMTS CN 130 performs CODEC conversion for the CODEC 154.
CODECs approved by the 3GPP include an Adaptive Multi-Rate (AMR) CODEC. The AMR CODEC is characterized by Unequal Error Protection/Unequal Error Detection (UEP/UED).
The structure of a VoIP packet for transmission on a radio channel will be described in detail.
Referring to FIG. 1, a VoIP packet 160 is comprised of a Radio Protocol (RP) header 161, a Robust Header Compression (ROHC) header 162, a UDP checksum 163, a Payload 164, and a CRC 165 inserted in the PHY layer. The RP header 161 is inserted in the PDCP, RLC and MAC layers. Since a PDCP header and a MAC header are not used in many cases in VoIP communications, the RP header 161 can be a 2-3 byte RLC header.
The ROHC header 162 is a header compressed by a header compression protocol called ROHC in the PDCP layer. Compressible parts of an IP/UDP/RTP header are converted to the ROHC header. The ROHC header 162 is variable in size, generally 2 to 3 bytes.
The UDP header comprises the UDP checksum 163. The UDP checksum 163 is not compressed and positioned after the ROHC header 162. Errors are detected from IP/UDP/RTP data by means of the UDP checksum 163 of about 2 bytes.
The Payload 164 is the data generated from the CODEC. In the case of the AMR CODEC, the Payload 164 is 32 bytes or 9 bytes. The CRC 165, inserted in the PHY layer, is a CRC operation value for the entire packet. The size of the CRC 165 is determined on a per call basis. It is usually 12 bits or 16 bits. The PHY layer of the receiver performs an error check using the CRC 165.
As described above, two error detection schemes, that is, the UDP checksum 163 and the CRC 165 are redundantly applied to the conventional VoIP packet 160 in order to detect errors from the VoIP packet 160 transmitted on the radio channel, resulting in an unnecessary overhead.